1. Field of the Invention
This invention generally relates to a technique of operating multiple servers in connection with a network from a Keyboard/Video Mouse (KVM) with the use of a personal computer for control (hereinafter, referred to as control PC).
2. Description of the Related Art
When multiple servers on the network are selectively changed for operation by using a set of input devices (such as a keyboard, pointing device, and the like), a KVM apparatus 200 shown in FIG. 1 is employed. In such a system, data generated by operating a keyboard 110 and a pointing device 111 is converted into packets on a control PC 100 and transmitted on the network of TCP/IP or the like, to a KVM apparatus 200. Upon receiving the packet data, the KVM apparatus 200 acquires data of the keyboard and that of the pointing device from the packet data and delivers to servers (1, 2, 3, . . . and N). The remote operation is executed by the above-described processing.
The control PC 100 is a general-purpose PC, and data input from the keyboard 110 is processed in a flowchart shown in FIG. 2. Subsequent to the key input on the keyboard 110, the key data is transmitted to the control PC 100. The key data transmitted is called scan code, and has a different data value according to each key. The scan code input from the keyboard 110 is received by an interface processor 107 of the control PC is converted into a key code on a keyboard driver 104, and is output to an Operating System (OS) 102 for code analysis, as shown in FIG. 2. The key code is a predetermined standard code of OS, that is to say, code data that can be recognized and processed by OS. The scan code varies depending on the keyboard. An example is “@”, which is different between US101 keyboard and OADG109 keyboard. Therefore, a conversion process is carried out to correct the difference, and is passed onto the OS 102 as a key code.
The key code received on the OS 102 is transmitted to a data detection module 101, which is enacted by application software. The key code received on the data detection module 101 is output to a data converter 105, and is converted into packets thereon. Then the packets are output to a communication processor 108, and are transmitted onto the network from the communication processor 108.
Japanese Patent Application Publication No. 6-289971 (hereinafter, referred to as Document 1) discloses a system in which a key input generated by the keyboard operation of a server apparatus is converted into a key code to transmit to a client apparatus. The client apparatus stores display key information tables for multiple server apparatuses, in which the key code used on the client apparatus is associated with the key code used on the server apparatus. The above-described system is also equipped with a display key library, which refers to the corresponding display key information table, and converts the key code input from the server apparatus into the key code used on the client apparatus.
Japanese Patent Application Publication No. 2000-250696 (hereinafter, referred to as Document 2) relates to a remote control in which one control information terminal remotely controls another information terminal to be controlled among the information terminals connected over the network. When the control information terminal and the information terminal to be controlled have different physical types or different logical layouts in keyboards, the actual scan code generated by the control information terminal is converted into a vertical scan code, and then the vertical scan code is converted into the actual scan code of the keyboard of the information terminal to be controlled.
In the conversion from the scan code into the key code, Left-Shift key and Right-Shift key have the same key codes. In this manner, the scan codes are different in inputting on the keyboard, but are converted into an identical key code.
In a case where the remote server is operated with the application that runs on the control PC 100, the keyboard data is always transmitted through the OS of the control PC 100. For this reason, the server, in some cases, has a system that can operate only the data converted into the key code. In such system, if there is an application that executes different functions by recognizing the difference of the inputs between Left-Shift key and Right-Shift key on the server, there will be a problem that the function cannot be executed due to the inability to recognize the difference between the key inputs on the server.
Also, in all systems, a special key input such as Ctrl-Alt-Delete is recognized by the OS 102 of the control PC 100, so there is no transmission to the server from the control PC 100. Therefore, in order to transmit such special key to the remote server from the control PC 100 in the system equipped with the KVM apparatus 200, the application is designed to include GUI of special key buttons so that the GUI buttons are clicked by a mouse to produce special key data (an example is DSR series (product name) of Avocent). However, in this method, all the key inputs cannot be executed over the keyboard and it is inconvenient for users.
In addition, according to both techniques disclosed by Document 1 and Document 2, there are provided a conversion table to convert the key code or scan code generated on one terminal into those usable on another terminal. Such techniques consume resources of the apparatus for the conversion, and cause other problems that the conversion needs time and another driver software needs to be installed.